home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / c / gcc261ud-c.lha / gnu / os-include / inline / iffparse.h < prev    next >
C/C++ Source or Header  |  1994-09-22  |  19KB  |  591 lines

  1. #ifndef _INLINE_IFFPARSE_H
  2. #define _INLINE_IFFPARSE_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL
  11. #define BASE_EXT_DECL0 extern struct Library * IFFParseBase;
  12. #endif
  13. #ifndef BASE_PAR_DECL
  14. #define BASE_PAR_DECL
  15. #define BASE_PAR_DECL0 void
  16. #endif
  17. #ifndef BASE_NAME
  18. #define BASE_NAME IFFParseBase
  19. #endif
  20.  
  21. BASE_EXT_DECL0
  22.  
  23. extern __inline struct IFFHandle *
  24. AllocIFF (BASE_PAR_DECL0)
  25. {
  26.   BASE_EXT_DECL
  27.   register struct IFFHandle * _res  __asm("d0");
  28.   register struct Library *a6 __asm("a6") = BASE_NAME;
  29.   __asm __volatile ("jsr a6@(-0x1e)"
  30.   : "=r" (_res)
  31.   : "r" (a6)
  32.   : "a0","a1","d0","d1", "memory");
  33.   return _res;
  34. }
  35. extern __inline struct LocalContextItem *
  36. AllocLocalItem (BASE_PAR_DECL long type,long id,long ident,long dataSize)
  37. {
  38.   BASE_EXT_DECL
  39.   register struct LocalContextItem * _res  __asm("d0");
  40.   register struct Library *a6 __asm("a6") = BASE_NAME;
  41.   register long d0 __asm("d0") = type;
  42.   register long d1 __asm("d1") = id;
  43.   register long d2 __asm("d2") = ident;
  44.   register long d3 __asm("d3") = dataSize;
  45.   __asm __volatile ("jsr a6@(-0xba)"
  46.   : "=r" (_res)
  47.   : "r" (a6), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
  48.   : "a0","a1","d0","d1","d2","d3", "memory");
  49.   return _res;
  50. }
  51. extern __inline void 
  52. CloseClipboard (BASE_PAR_DECL struct ClipboardHandle *clipHandle)
  53. {
  54.   BASE_EXT_DECL
  55.   register struct Library *a6 __asm("a6") = BASE_NAME;
  56.   register struct ClipboardHandle *a0 __asm("a0") = clipHandle;
  57.   __asm __volatile ("jsr a6@(-0xfc)"
  58.   : /* no output */
  59.   : "r" (a6), "r" (a0)
  60.   : "a0","a1","d0","d1", "memory");
  61. }
  62. extern __inline void 
  63. CloseIFF (BASE_PAR_DECL struct IFFHandle *iff)
  64. {
  65.   BASE_EXT_DECL
  66.   register struct Library *a6 __asm("a6") = BASE_NAME;
  67.   register struct IFFHandle *a0 __asm("a0") = iff;
  68.   __asm __volatile ("jsr a6@(-0x30)"
  69.   : /* no output */
  70.   : "r" (a6), "r" (a0)
  71.   : "a0","a1","d0","d1", "memory");
  72. }
  73. extern __inline LONG 
  74. CollectionChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  75. {
  76.   BASE_EXT_DECL
  77.   register LONG  _res  __asm("d0");
  78.   register struct Library *a6 __asm("a6") = BASE_NAME;
  79.   register struct IFFHandle *a0 __asm("a0") = iff;
  80.   register long d0 __asm("d0") = type;
  81.   register long d1 __asm("d1") = id;
  82.   __asm __volatile ("jsr a6@(-0x8a)"
  83.   : "=r" (_res)
  84.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  85.   : "a0","a1","d0","d1", "memory");
  86.   return _res;
  87. }
  88. extern __inline LONG 
  89. CollectionChunks (BASE_PAR_DECL struct IFFHandle *iff,LONG *propArray,long numPairs)
  90. {
  91.   BASE_EXT_DECL
  92.   register LONG  _res  __asm("d0");
  93.   register struct Library *a6 __asm("a6") = BASE_NAME;
  94.   register struct IFFHandle *a0 __asm("a0") = iff;
  95.   register LONG *a1 __asm("a1") = propArray;
  96.   register long d0 __asm("d0") = numPairs;
  97.   __asm __volatile ("jsr a6@(-0x90)"
  98.   : "=r" (_res)
  99.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  100.   : "a0","a1","d0","d1", "memory");
  101.   return _res;
  102. }
  103. extern __inline struct ContextNode *
  104. CurrentChunk (BASE_PAR_DECL struct IFFHandle *iff)
  105. {
  106.   BASE_EXT_DECL
  107.   register struct ContextNode * _res  __asm("d0");
  108.   register struct Library *a6 __asm("a6") = BASE_NAME;
  109.   register struct IFFHandle *a0 __asm("a0") = iff;
  110.   __asm __volatile ("jsr a6@(-0xae)"
  111.   : "=r" (_res)
  112.   : "r" (a6), "r" (a0)
  113.   : "a0","a1","d0","d1", "memory");
  114.   return _res;
  115. }
  116. extern __inline LONG 
  117. EntryHandler (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long position,struct Hook *handler,APTR object)
  118. {
  119.   BASE_EXT_DECL
  120.   register LONG  _res  __asm("d0");
  121.   register struct Library *a6 __asm("a6") = BASE_NAME;
  122.   register struct IFFHandle *a0 __asm("a0") = iff;
  123.   register long d0 __asm("d0") = type;
  124.   register long d1 __asm("d1") = id;
  125.   register long d2 __asm("d2") = position;
  126.   register struct Hook *a1 __asm("a1") = handler;
  127.   register APTR a2 __asm("a2") = object;
  128.   __asm __volatile ("jsr a6@(-0x66)"
  129.   : "=r" (_res)
  130.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (a2)
  131.   : "a0","a1","a2","d0","d1","d2", "memory");
  132.   return _res;
  133. }
  134. extern __inline LONG 
  135. ExitHandler (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long position,struct Hook *handler,APTR object)
  136. {
  137.   BASE_EXT_DECL
  138.   register LONG  _res  __asm("d0");
  139.   register struct Library *a6 __asm("a6") = BASE_NAME;
  140.   register struct IFFHandle *a0 __asm("a0") = iff;
  141.   register long d0 __asm("d0") = type;
  142.   register long d1 __asm("d1") = id;
  143.   register long d2 __asm("d2") = position;
  144.   register struct Hook *a1 __asm("a1") = handler;
  145.   register APTR a2 __asm("a2") = object;
  146.   __asm __volatile ("jsr a6@(-0x6c)"
  147.   : "=r" (_res)
  148.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (a2)
  149.   : "a0","a1","a2","d0","d1","d2", "memory");
  150.   return _res;
  151. }
  152. extern __inline struct CollectionItem *
  153. FindCollection (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  154. {
  155.   BASE_EXT_DECL
  156.   register struct CollectionItem * _res  __asm("d0");
  157.   register struct Library *a6 __asm("a6") = BASE_NAME;
  158.   register struct IFFHandle *a0 __asm("a0") = iff;
  159.   register long d0 __asm("d0") = type;
  160.   register long d1 __asm("d1") = id;
  161.   __asm __volatile ("jsr a6@(-0xa2)"
  162.   : "=r" (_res)
  163.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  164.   : "a0","a1","d0","d1", "memory");
  165.   return _res;
  166. }
  167. extern __inline struct LocalContextItem *
  168. FindLocalItem (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long ident)
  169. {
  170.   BASE_EXT_DECL
  171.   register struct LocalContextItem * _res  __asm("d0");
  172.   register struct Library *a6 __asm("a6") = BASE_NAME;
  173.   register struct IFFHandle *a0 __asm("a0") = iff;
  174.   register long d0 __asm("d0") = type;
  175.   register long d1 __asm("d1") = id;
  176.   register long d2 __asm("d2") = ident;
  177.   __asm __volatile ("jsr a6@(-0xd2)"
  178.   : "=r" (_res)
  179.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
  180.   : "a0","a1","d0","d1","d2", "memory");
  181.   return _res;
  182. }
  183. extern __inline struct StoredProperty *
  184. FindProp (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  185. {
  186.   BASE_EXT_DECL
  187.   register struct StoredProperty * _res  __asm("d0");
  188.   register struct Library *a6 __asm("a6") = BASE_NAME;
  189.   register struct IFFHandle *a0 __asm("a0") = iff;
  190.   register long d0 __asm("d0") = type;
  191.   register long d1 __asm("d1") = id;
  192.   __asm __volatile ("jsr a6@(-0x9c)"
  193.   : "=r" (_res)
  194.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  195.   : "a0","a1","d0","d1", "memory");
  196.   return _res;
  197. }
  198. extern __inline struct ContextNode *
  199. FindPropContext (BASE_PAR_DECL struct IFFHandle *iff)
  200. {
  201.   BASE_EXT_DECL
  202.   register struct ContextNode * _res  __asm("d0");
  203.   register struct Library *a6 __asm("a6") = BASE_NAME;
  204.   register struct IFFHandle *a0 __asm("a0") = iff;
  205.   __asm __volatile ("jsr a6@(-0xa8)"
  206.   : "=r" (_res)
  207.   : "r" (a6), "r" (a0)
  208.   : "a0","a1","d0","d1", "memory");
  209.   return _res;
  210. }
  211. extern __inline void 
  212. FreeIFF (BASE_PAR_DECL struct IFFHandle *iff)
  213. {
  214.   BASE_EXT_DECL
  215.   register struct Library *a6 __asm("a6") = BASE_NAME;
  216.   register struct IFFHandle *a0 __asm("a0") = iff;
  217.   __asm __volatile ("jsr a6@(-0x36)"
  218.   : /* no output */
  219.   : "r" (a6), "r" (a0)
  220.   : "a0","a1","d0","d1", "memory");
  221. }
  222. extern __inline void 
  223. FreeLocalItem (BASE_PAR_DECL struct LocalContextItem *localItem)
  224. {
  225.   BASE_EXT_DECL
  226.   register struct Library *a6 __asm("a6") = BASE_NAME;
  227.   register struct LocalContextItem *a0 __asm("a0") = localItem;
  228.   __asm __volatile ("jsr a6@(-0xcc)"
  229.   : /* no output */
  230.   : "r" (a6), "r" (a0)
  231.   : "a0","a1","d0","d1", "memory");
  232. }
  233. extern __inline LONG 
  234. GoodID (BASE_PAR_DECL long id)
  235. {
  236.   BASE_EXT_DECL
  237.   register LONG  _res  __asm("d0");
  238.   register struct Library *a6 __asm("a6") = BASE_NAME;
  239.   register long d0 __asm("d0") = id;
  240.   __asm __volatile ("jsr a6@(-0x102)"
  241.   : "=r" (_res)
  242.   : "r" (a6), "r" (d0)
  243.   : "a0","a1","d0","d1", "memory");
  244.   return _res;
  245. }
  246. extern __inline LONG 
  247. GoodType (BASE_PAR_DECL long type)
  248. {
  249.   BASE_EXT_DECL
  250.   register LONG  _res  __asm("d0");
  251.   register struct Library *a6 __asm("a6") = BASE_NAME;
  252.   register long d0 __asm("d0") = type;
  253.   __asm __volatile ("jsr a6@(-0x108)"
  254.   : "=r" (_res)
  255.   : "r" (a6), "r" (d0)
  256.   : "a0","a1","d0","d1", "memory");
  257.   return _res;
  258. }
  259. extern __inline STRPTR 
  260. IDtoStr (BASE_PAR_DECL long id,STRPTR buf)
  261. {
  262.   BASE_EXT_DECL
  263.   register STRPTR  _res  __asm("d0");
  264.   register struct Library *a6 __asm("a6") = BASE_NAME;
  265.   register long d0 __asm("d0") = id;
  266.   register STRPTR a0 __asm("a0") = buf;
  267.   __asm __volatile ("jsr a6@(-0x10e)"
  268.   : "=r" (_res)
  269.   : "r" (a6), "r" (d0), "r" (a0)
  270.   : "a0","a1","d0","d1", "memory");
  271.   return _res;
  272. }
  273. extern __inline void 
  274. InitIFF (BASE_PAR_DECL struct IFFHandle *iff,long flags,struct Hook *streamHook)
  275. {
  276.   BASE_EXT_DECL
  277.   register struct Library *a6 __asm("a6") = BASE_NAME;
  278.   register struct IFFHandle *a0 __asm("a0") = iff;
  279.   register long d0 __asm("d0") = flags;
  280.   register struct Hook *a1 __asm("a1") = streamHook;
  281.   __asm __volatile ("jsr a6@(-0xe4)"
  282.   : /* no output */
  283.   : "r" (a6), "r" (a0), "r" (d0), "r" (a1)
  284.   : "a0","a1","d0","d1", "memory");
  285. }
  286. extern __inline void 
  287. InitIFFasClip (BASE_PAR_DECL struct IFFHandle *iff)
  288. {
  289.   BASE_EXT_DECL
  290.   register struct Library *a6 __asm("a6") = BASE_NAME;
  291.   register struct IFFHandle *a0 __asm("a0") = iff;
  292.   __asm __volatile ("jsr a6@(-0xf0)"
  293.   : /* no output */
  294.   : "r" (a6), "r" (a0)
  295.   : "a0","a1","d0","d1", "memory");
  296. }
  297. extern __inline void 
  298. InitIFFasDOS (BASE_PAR_DECL struct IFFHandle *iff)
  299. {
  300.   BASE_EXT_DECL
  301.   register struct Library *a6 __asm("a6") = BASE_NAME;
  302.   register struct IFFHandle *a0 __asm("a0") = iff;
  303.   __asm __volatile ("jsr a6@(-0xea)"
  304.   : /* no output */
  305.   : "r" (a6), "r" (a0)
  306.   : "a0","a1","d0","d1", "memory");
  307. }
  308. extern __inline APTR 
  309. LocalItemData (BASE_PAR_DECL struct LocalContextItem *localItem)
  310. {
  311.   BASE_EXT_DECL
  312.   register APTR  _res  __asm("d0");
  313.   register struct Library *a6 __asm("a6") = BASE_NAME;
  314.   register struct LocalContextItem *a0 __asm("a0") = localItem;
  315.   __asm __volatile ("jsr a6@(-0xc0)"
  316.   : "=r" (_res)
  317.   : "r" (a6), "r" (a0)
  318.   : "a0","a1","d0","d1", "memory");
  319.   return _res;
  320. }
  321. extern __inline struct ClipboardHandle *
  322. OpenClipboard (BASE_PAR_DECL long unitNumber)
  323. {
  324.   BASE_EXT_DECL
  325.   register struct ClipboardHandle * _res  __asm("d0");
  326.   register struct Library *a6 __asm("a6") = BASE_NAME;
  327.   register long d0 __asm("d0") = unitNumber;
  328.   __asm __volatile ("jsr a6@(-0xf6)"
  329.   : "=r" (_res)
  330.   : "r" (a6), "r" (d0)
  331.   : "a0","a1","d0","d1", "memory");
  332.   return _res;
  333. }
  334. extern __inline LONG 
  335. OpenIFF (BASE_PAR_DECL struct IFFHandle *iff,long rwMode)
  336. {
  337.   BASE_EXT_DECL
  338.   register LONG  _res  __asm("d0");
  339.   register struct Library *a6 __asm("a6") = BASE_NAME;
  340.   register struct IFFHandle *a0 __asm("a0") = iff;
  341.   register long d0 __asm("d0") = rwMode;
  342.   __asm __volatile ("jsr a6@(-0x24)"
  343.   : "=r" (_res)
  344.   : "r" (a6), "r" (a0), "r" (d0)
  345.   : "a0","a1","d0","d1", "memory");
  346.   return _res;
  347. }
  348. extern __inline struct ContextNode *
  349. ParentChunk (BASE_PAR_DECL struct ContextNode *contextNode)
  350. {
  351.   BASE_EXT_DECL
  352.   register struct ContextNode * _res  __asm("d0");
  353.   register struct Library *a6 __asm("a6") = BASE_NAME;
  354.   register struct ContextNode *a0 __asm("a0") = contextNode;
  355.   __asm __volatile ("jsr a6@(-0xb4)"
  356.   : "=r" (_res)
  357.   : "r" (a6), "r" (a0)
  358.   : "a0","a1","d0","d1", "memory");
  359.   return _res;
  360. }
  361. extern __inline LONG 
  362. ParseIFF (BASE_PAR_DECL struct IFFHandle *iff,long control)
  363. {
  364.   BASE_EXT_DECL
  365.   register LONG  _res  __asm("d0");
  366.   register struct Library *a6 __asm("a6") = BASE_NAME;
  367.   register struct IFFHandle *a0 __asm("a0") = iff;
  368.   register long d0 __asm("d0") = control;
  369.   __asm __volatile ("jsr a6@(-0x2a)"
  370.   : "=r" (_res)
  371.   : "r" (a6), "r" (a0), "r" (d0)
  372.   : "a0","a1","d0","d1", "memory");
  373.   return _res;
  374. }
  375. extern __inline LONG 
  376. PopChunk (BASE_PAR_DECL struct IFFHandle *iff)
  377. {
  378.   BASE_EXT_DECL
  379.   register LONG  _res  __asm("d0");
  380.   register struct Library *a6 __asm("a6") = BASE_NAME;
  381.   register struct IFFHandle *a0 __asm("a0") = iff;
  382.   __asm __volatile ("jsr a6@(-0x5a)"
  383.   : "=r" (_res)
  384.   : "r" (a6), "r" (a0)
  385.   : "a0","a1","d0","d1", "memory");
  386.   return _res;
  387. }
  388. extern __inline LONG 
  389. PropChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  390. {
  391.   BASE_EXT_DECL
  392.   register LONG  _res  __asm("d0");
  393.   register struct Library *a6 __asm("a6") = BASE_NAME;
  394.   register struct IFFHandle *a0 __asm("a0") = iff;
  395.   register long d0 __asm("d0") = type;
  396.   register long d1 __asm("d1") = id;
  397.   __asm __volatile ("jsr a6@(-0x72)"
  398.   : "=r" (_res)
  399.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  400.   : "a0","a1","d0","d1", "memory");
  401.   return _res;
  402. }
  403. extern __inline LONG 
  404. PropChunks (BASE_PAR_DECL struct IFFHandle *iff,LONG *propArray,long numPairs)
  405. {
  406.   BASE_EXT_DECL
  407.   register LONG  _res  __asm("d0");
  408.   register struct Library *a6 __asm("a6") = BASE_NAME;
  409.   register struct IFFHandle *a0 __asm("a0") = iff;
  410.   register LONG *a1 __asm("a1") = propArray;
  411.   register long d0 __asm("d0") = numPairs;
  412.   __asm __volatile ("jsr a6@(-0x78)"
  413.   : "=r" (_res)
  414.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  415.   : "a0","a1","d0","d1", "memory");
  416.   return _res;
  417. }
  418. extern __inline LONG 
  419. PushChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long size)
  420. {
  421.   BASE_EXT_DECL
  422.   register LONG  _res  __asm("d0");
  423.   register struct Library *a6 __asm("a6") = BASE_NAME;
  424.   register struct IFFHandle *a0 __asm("a0") = iff;
  425.   register long d0 __asm("d0") = type;
  426.   register long d1 __asm("d1") = id;
  427.   register long d2 __asm("d2") = size;
  428.   __asm __volatile ("jsr a6@(-0x54)"
  429.   : "=r" (_res)
  430.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
  431.   : "a0","a1","d0","d1","d2", "memory");
  432.   return _res;
  433. }
  434. extern __inline LONG 
  435. ReadChunkBytes (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long numBytes)
  436. {
  437.   BASE_EXT_DECL
  438.   register LONG  _res  __asm("d0");
  439.   register struct Library *a6 __asm("a6") = BASE_NAME;
  440.   register struct IFFHandle *a0 __asm("a0") = iff;
  441.   register APTR a1 __asm("a1") = buf;
  442.   register long d0 __asm("d0") = numBytes;
  443.   __asm __volatile ("jsr a6@(-0x3c)"
  444.   : "=r" (_res)
  445.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  446.   : "a0","a1","d0","d1", "memory");
  447.   return _res;
  448. }
  449. extern __inline LONG 
  450. ReadChunkRecords (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long bytesPerRecord,long numRecords)
  451. {
  452.   BASE_EXT_DECL
  453.   register LONG  _res  __asm("d0");
  454.   register struct Library *a6 __asm("a6") = BASE_NAME;
  455.   register struct IFFHandle *a0 __asm("a0") = iff;
  456.   register APTR a1 __asm("a1") = buf;
  457.   register long d0 __asm("d0") = bytesPerRecord;
  458.   register long d1 __asm("d1") = numRecords;
  459.   __asm __volatile ("jsr a6@(-0x48)"
  460.   : "=r" (_res)
  461.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
  462.   : "a0","a1","d0","d1", "memory");
  463.   return _res;
  464. }
  465. extern __inline void 
  466. SetLocalItemPurge (BASE_PAR_DECL struct LocalContextItem *localItem,struct Hook *purgeHook)
  467. {
  468.   BASE_EXT_DECL
  469.   register struct Library *a6 __asm("a6") = BASE_NAME;
  470.   register struct LocalContextItem *a0 __asm("a0") = localItem;
  471.   register struct Hook *a1 __asm("a1") = purgeHook;
  472.   __asm __volatile ("jsr a6@(-0xc6)"
  473.   : /* no output */
  474.   : "r" (a6), "r" (a0), "r" (a1)
  475.   : "a0","a1","d0","d1", "memory");
  476. }
  477. extern __inline LONG 
  478. StopChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  479. {
  480.   BASE_EXT_DECL
  481.   register LONG  _res  __asm("d0");
  482.   register struct Library *a6 __asm("a6") = BASE_NAME;
  483.   register struct IFFHandle *a0 __asm("a0") = iff;
  484.   register long d0 __asm("d0") = type;
  485.   register long d1 __asm("d1") = id;
  486.   __asm __volatile ("jsr a6@(-0x7e)"
  487.   : "=r" (_res)
  488.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  489.   : "a0","a1","d0","d1", "memory");
  490.   return _res;
  491. }
  492. extern __inline LONG 
  493. StopChunks (BASE_PAR_DECL struct IFFHandle *iff,LONG *propArray,long numPairs)
  494. {
  495.   BASE_EXT_DECL
  496.   register LONG  _res  __asm("d0");
  497.   register struct Library *a6 __asm("a6") = BASE_NAME;
  498.   register struct IFFHandle *a0 __asm("a0") = iff;
  499.   register LONG *a1 __asm("a1") = propArray;
  500.   register long d0 __asm("d0") = numPairs;
  501.   __asm __volatile ("jsr a6@(-0x84)"
  502.   : "=r" (_res)
  503.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  504.   : "a0","a1","d0","d1", "memory");
  505.   return _res;
  506. }
  507. extern __inline LONG 
  508. StopOnExit (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  509. {
  510.   BASE_EXT_DECL
  511.   register LONG  _res  __asm("d0");
  512.   register struct Library *a6 __asm("a6") = BASE_NAME;
  513.   register struct IFFHandle *a0 __asm("a0") = iff;
  514.   register long d0 __asm("d0") = type;
  515.   register long d1 __asm("d1") = id;
  516.   __asm __volatile ("jsr a6@(-0x96)"
  517.   : "=r" (_res)
  518.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  519.   : "a0","a1","d0","d1", "memory");
  520.   return _res;
  521. }
  522. extern __inline void 
  523. StoreItemInContext (BASE_PAR_DECL struct IFFHandle *iff,struct LocalContextItem *localItem,struct ContextNode *contextNode)
  524. {
  525.   BASE_EXT_DECL
  526.   register struct Library *a6 __asm("a6") = BASE_NAME;
  527.   register struct IFFHandle *a0 __asm("a0") = iff;
  528.   register struct LocalContextItem *a1 __asm("a1") = localItem;
  529.   register struct ContextNode *a2 __asm("a2") = contextNode;
  530.   __asm __volatile ("jsr a6@(-0xde)"
  531.   : /* no output */
  532.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  533.   : "a0","a1","a2","d0","d1", "memory");
  534. }
  535. extern __inline LONG 
  536. StoreLocalItem (BASE_PAR_DECL struct IFFHandle *iff,struct LocalContextItem *localItem,long position)
  537. {
  538.   BASE_EXT_DECL
  539.   register LONG  _res  __asm("d0");
  540.   register struct Library *a6 __asm("a6") = BASE_NAME;
  541.   register struct IFFHandle *a0 __asm("a0") = iff;
  542.   register struct LocalContextItem *a1 __asm("a1") = localItem;
  543.   register long d0 __asm("d0") = position;
  544.   __asm __volatile ("jsr a6@(-0xd8)"
  545.   : "=r" (_res)
  546.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  547.   : "a0","a1","d0","d1", "memory");
  548.   return _res;
  549. }
  550. extern __inline LONG 
  551. WriteChunkBytes (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long numBytes)
  552. {
  553.   BASE_EXT_DECL
  554.   register LONG  _res  __asm("d0");
  555.   register struct Library *a6 __asm("a6") = BASE_NAME;
  556.   register struct IFFHandle *a0 __asm("a0") = iff;
  557.   register APTR a1 __asm("a1") = buf;
  558.   register long d0 __asm("d0") = numBytes;
  559.   __asm __volatile ("jsr a6@(-0x42)"
  560.   : "=r" (_res)
  561.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  562.   : "a0","a1","d0","d1", "memory");
  563.   return _res;
  564. }
  565. extern __inline LONG 
  566. WriteChunkRecords (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long bytesPerRecord,long numRecords)
  567. {
  568.   BASE_EXT_DECL
  569.   register LONG  _res  __asm("d0");
  570.   register struct Library *a6 __asm("a6") = BASE_NAME;
  571.   register struct IFFHandle *a0 __asm("a0") = iff;
  572.   register APTR a1 __asm("a1") = buf;
  573.   register long d0 __asm("d0") = bytesPerRecord;
  574.   register long d1 __asm("d1") = numRecords;
  575.   __asm __volatile ("jsr a6@(-0x4e)"
  576.   : "=r" (_res)
  577.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
  578.   : "a0","a1","d0","d1", "memory");
  579.   return _res;
  580. }
  581.  
  582. #undef BASE_EXT_DECL
  583. #undef BASE_EXT_DECL0
  584. #undef BASE_PAR_DECL
  585. #undef BASE_PAR_DECL0
  586. #undef BASE_NAME
  587.  
  588. __END_DECLS
  589.  
  590. #endif /* _INLINE_IFFPARSE_H */
  591.